package com.ruoyi.project.oms.paeaAuAuditItem.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.project.oms.paeaAuAuditItem.domain.PaeaAuAuditItem;
import com.ruoyi.project.oms.paeaAuAuditItem.model.PaeaAuAuditItemRequest;
import com.ruoyi.project.oms.paeaAuBatch.domain.PaeaAuBatch;

import java.util.List;

/**
 * 【重点监督】Service接口
 *
 * @author ruoyi
 * @date 2020-03-22
 */
public interface IPaeaAuAuditItemService extends IService<PaeaAuAuditItem>
{
    /**
     * 查询【重点监督】
     *
     * @param id 【重点监督】ID
     * @return 【重点监督】
     */
    public PaeaAuAuditItem selectPaeaAuAuditItemById(String id);

    /**
     * 查询【重点监督】列表
     *
     * @param paeaAuAuditItem 【重点监督】
     * @return 【重点监督】集合
     */
    public List<PaeaAuAuditItem> selectPaeaAuAuditItemList(PaeaAuAuditItem paeaAuAuditItem);

    /**
     * 新增【重点监督】
     *
     * @param paeaAuAuditItem 【重点监督】
     * @return 结果
     */
    public int insertPaeaAuAuditItem(PaeaAuAuditItem paeaAuAuditItem);

    /**
     * 修改【重点监督】
     *
     * @param paeaAuAuditItem 【重点监督】
     * @return 结果
     */
    public int updatePaeaAuAuditItem(PaeaAuAuditItem paeaAuAuditItem);

    /**
     * 批量删除【重点监督】
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deletePaeaAuAuditItemByIds(String ids);

    /**
     * 删除【重点监督】信息
     *
     * @param id 【重点监督】ID
     * @return 结果
     */
    public int deletePaeaAuAuditItemById(String id);

    /**
     * 通过batchId查询item
     * @param batchId
     * @return
     */
    public List<PaeaAuAuditItem> queryItemForBatchId(String batchId);

    /**
     * 提交监控
     * @param paeaAuBatch
     * @param paeaAuAuditItem
     * @param state
     * @param errSource
     * @param userCode
     * @return
     */
    public String submitItem(PaeaAuBatch paeaAuBatch, PaeaAuAuditItem paeaAuAuditItem,
                             int state, int errSource, String userCode);
    /**
     * 批量提交
     * @param paeaAuBatch
     * @param items
     * @param userCode
     * @param queryFlag
     * @return
     */
    public int submit(PaeaAuBatch paeaAuBatch, List<PaeaAuAuditItem> items,
                      String userCode, String queryFlag);

    /**
     * 更新监督列表数据
     * @param paeaAuBatch
     */
    public void updateBatchCounts(PaeaAuBatch paeaAuBatch);

    /**
     * 通过流水查询影像
     * @param itemId
     * @return
     */
    public String querySdiImagesByTrade(String itemId);

    /**
     * 登记差错
     * @param id
     */
    void lostVoucherRegister(String id);

}
